
import gradio as gr
import requests

# DeepSeek API 配置
DEEPSEEK_API_URL = "https://api.deepseek.com/v1/chat/completions"  # 假设的 API 地址
DEEPSEEK_API_KEY = "sk-2784180d63c64905a2882ee601c5cc76"  # 替换为你的 DeepSeek API 密钥

# 调用 DeepSeek API 的函数
def ask_deepseek(question):
    """
    调用 DeepSeek API 获取回答。
    """
    headers = {
        "Authorization": f"Bearer {DEEPSEEK_API_KEY}",
        "Content-Type": "application/json",
    }
    data = {
        "model": "deepseek-chat",  # 假设的模型名称
        "messages": [{"role": "user", "content": question}],
        "max_tokens": 150,  # 控制生成的最大长度
        "temperature": 0.7,  # 控制生成文本的随机性
    }

    try:
        response = requests.post(DEEPSEEK_API_URL, headers=headers, json=data)
        response.raise_for_status()  # 检查请求是否成功
        result = response.json()
        return result["choices"][0]["message"]["content"]  # 返回生成的回答
    except Exception as e:
        return f"调用 DeepSeek API 出错: {str(e)}"

# 创建 Gradio 界面
def chat_interface(question):
    """
    Gradio 界面函数，调用 DeepSeek API 并返回回答。
    """
    if not question.strip():
        return "请输入问题！"
    return ask_deepseek(question)

# Gradio 界面配置
interface = gr.Interface(
    fn=chat_interface,  # 绑定处理函数
    inputs="text",  # 输入为文本
    outputs="text",  # 输出为文本
    title="DeepSeek 问答演示",  # 界面标题
    description="输入你的问题，DeepSeek 模型会生成回答。",  # 描述
    examples=[["什么是人工智能？"], ["如何学习编程？"]],  # 示例输入
)

# 启动应用
interface.launch()